#pragma once
#include "ProductA.h"
#include "ProductB.h"

class AbstractFactor
{
public:
	virtual AbstractProductA* CreatProductA()const = 0;
	virtual AbstractProductB* CreatProductB()const = 0;
};

class Factory1 :public AbstractFactor
{
	AbstractProductA* CreatProductA()const override;
	AbstractProductB* CreatProductB()const override;
};

class Factory2 :public AbstractFactor
{
	AbstractProductA* CreatProductA()const override;
	AbstractProductB* CreatProductB()const override;
};
